package com.mo.tools.config.redis;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * author: Xingfu.Yang
 * date: 2024/2/22 10:28        
 */ 
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RedissonDistributedLock {

    /**
     * 锁名称，默认为空字符串
     */
    String name() default "";

    /**
     * 持锁时间，默认30秒
     */
    long lockTime() default 30000;

    /**
     * 加锁失败后的等待时间，默认10秒
     */
    long waitTime() default 10000;

    /**
     * 自动释放
     * @return
     */
    boolean autoUnLock() default true;
}
